Presence systems are very popular and valuable. These systems provide a user with a dynamic indication of which of their contacts or friends are currently available. Generally, they indicate whether a friend is available for instant messaging, but they can also indicate other forms of presence, such as whether a person is available for a phone call or an in-person meeting.
Friends, however, are not static in their importance. At any particular time there are friends that a user is more likely to engage with, whether by initiating contact with that friend or by being more receptive to contact from that friend at a particular time. The likelihood of a user contacting a friend changes during the day as existing tasks are completed, new tasks are added, meetings approach and pass, and so) forth. The likelihood of a user being receptive to contact from a friend also changes during the day, depending on whether the user is in a meeting or on the phone, for example, or depending on the number of tasks the user must accomplish, their deadlines, and their completion status. Some conventional systems, presence or otherwise, can determine how receptive or available a user is for contact from others. They do not, however, address this from the other direction, namely, whether another user is likely to contact them. Nor do they personalize availability status presented to other users. They may block the providing of status to some users, but the users that get the status all get the same status. They do not present an indication of how receptive a user is to contact initiated by another specific user.
There are advantages to knowing the likelihood that a first user may initiate communication with a second user. For example, if the second user knows that the first user is likely to initiate communication on a particular day or regarding a particular subject, the second user may take the opportunity to prepare in advance for the conversation. The second user may instead initiate the conversation first, rather than waiting for the first user to initiate the communication. If the second user knows, for example, that the first user is likely NOT to initiate communication during a certain time of day or day of the week (e.g., because the first user is in a scheduled meeting), the second user may choose a time during which it is more likely that the first user and second user will successfully communicate with each other. In other words, foreknowledge may increase the likelihood of successful, productive communication.
Accordingly, in light of the above described difficulties and needs, there exists a need for improved methods, systems, and computer program products for providing predicted likelihood of communication between users.